package br.com.rhweb.controladores;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import br.com.rhweb.dao.Dao;
import br.com.rhweb.dao.IDao;
import br.com.rhweb.modelos.Parametros_do_Sistema;
import br.com.rhweb.util.Utilitarios;

public class Controlador_Parametros_do_Sistema implements Serializable{
	
	private IDao<Parametros_do_Sistema> repositorio_parametros_do_sistema;
	
	public void cadastar_parametros_do_sistema(Parametros_do_Sistema parametros_do_sistema,Session s){
		repositorio_parametros_do_sistema = new Dao<Parametros_do_Sistema>(s, Parametros_do_Sistema.class);
		repositorio_parametros_do_sistema.save(parametros_do_sistema);
	}
	public void atualizar_parametros_do_sistema(Parametros_do_Sistema parametros_do_sistema,Session s){
		repositorio_parametros_do_sistema = new Dao<Parametros_do_Sistema>(s, Parametros_do_Sistema.class);
		repositorio_parametros_do_sistema.save(parametros_do_sistema);
	}
	public void remover_parametros_do_sistema(Parametros_do_Sistema parametros_do_sistema,Session s){
		repositorio_parametros_do_sistema = new Dao<Parametros_do_Sistema>(s, Parametros_do_Sistema.class);
		repositorio_parametros_do_sistema.delete(parametros_do_sistema);
	}
	public Parametros_do_Sistema procurar_parametros_do_sistema(int id,Session s){
		repositorio_parametros_do_sistema = new Dao<Parametros_do_Sistema>(s, Parametros_do_Sistema.class);
		return repositorio_parametros_do_sistema.load(id);
	}
	public List<Parametros_do_Sistema> listar_parametros_do_sistemas(Session s){
		repositorio_parametros_do_sistema = new Dao<Parametros_do_Sistema>(s, Parametros_do_Sistema.class);
		return repositorio_parametros_do_sistema.list();
	}
	public List<Parametros_do_Sistema> listar_parametros_do_sistemas_por_secretarias(String decricao_do_campo_a_procurar,String campo_a_procurar,Session s){
		repositorio_parametros_do_sistema = new Dao<Parametros_do_Sistema>(s, Parametros_do_Sistema.class);
		return repositorio_parametros_do_sistema.list(decricao_do_campo_a_procurar,campo_a_procurar);
	}
	public Parametros_do_Sistema procurar_parametros_do_sistema(Date data,Session s){
		Criteria c = s.createCriteria(Parametros_do_Sistema.class);
		return (Parametros_do_Sistema) c.add(Restrictions.sqlRestriction("convert(varchar,data,103) = ?", data,Hibernate.DATE)).uniqueResult();
	}
}
